#include <string>

#include "../Logger/Logger.h"
#include "Person.pb.h"

using namespace std;

void logger_init()
{
    // 配置日志系统
    LoggerConfig config;
    config.baseFileName = "./log/unique_ptr_log";
    config.maxFileSize = 1024 * 1024; // 1MB
    config.maxFiles = 3;
    config.consoleOutput = true;
    config.level = spdlog::level::debug;

    // 初始化日志
    Logger::init(config);

    LOG_INFO("我是王乾");
}

int main()
{
    system("chcp 65001");

    GOOGLE_PROTOBUF_VERIFY_VERSION;

    logger_init();

    Person p1;
    p1.set_id(1);
    p1.set_name("小明");
    p1.set_sex("male");
    p1.set_age(26);

    string output;
    p1.SerializeToString(&output);

    Person p2;
    p2.ParseFromString(output);
    LOG_INFO("p2 id:{} name:{} age:{} sex:{}",
             p2.id(), p2.name(), p2.age(), p2.sex());

    google::protobuf::ShutdownProtobufLibrary();

    return 0;
}
